package com.cloud.system.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.cloud.system.entity.SysConfig;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 参数配置 数据层
 *
 * @author yzj
 */
@Mapper
public interface SysConfigMapper extends BaseMapper<SysConfig> {

    /**
     * 查询参数配置信息
     *
     * @param param 参数配置信息
     * @return 参数配置信息
     */
    public SysConfig selectConfig(@Param("param") SysConfig param);

    /**
     * 查询参数配置列表
     *
     * @param param 参数配置信息
     * @return 参数配置集合
     */
    public List<SysConfig> selectConfigList(@Param("param") SysConfig param);


    /**
     * 校验参数键名是否唯一
     *
     * @param configKey 参数键名
     * @return 参数配置信息
     */
    public int checkConfigKeyUnique(@Param("configKey") String configKey, @Param("configId") Long configId);

    /**
     * 删除参数配置
     *
     * @param configId 参数ID
     * @return 结果
     */
    public int deleteConfigById(@Param("configId") Long configId);

    /**
     * 批量删除参数信息
     *
     * @param configIds 需要删除的参数ID
     * @return 结果
     */
    public int deleteConfigByIds(@Param("configIds") List<Long> configIds);
}
